﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Windows.Forms;

using qlHieuThuocDongY.DataAccess;
using qlHieuThuocDongY.BusinessObject;

namespace qlHieuThuocDongY.BusinessLogic
{
    class DanhMucThuocBUS
    {
        ConnectData connData = new ConnectData();
        // Lấy danh mục thuốc
        public DataTable LayDanhMucThuoc()
        {
            string sql = "SELECT MaThuoc, TenThuoc, Gia FROM DanhMucThuoc";
            return connData.GetDataTable(sql);
        }

        // Thêm một thuốc
        public bool ThemDMThuoc(DanhMucThuoc dmthuoc)
        {
            if (KiemTraTruocKhiLuu(dmthuoc))
            {
                string sql = string.Format("INSERT INTO DanhMucThuoc(MaThuoc, TenThuoc, Gia) "
                    + "VALUES ('{0}','{1}',{2})",dmthuoc.MaThuoc, dmthuoc.TenThuoc, dmthuoc.Gia);
                if (connData.ExcuteQuery(sql))
                {
                    MessageBox.Show("Thêm Danh Mục Thuốc Thành Công", "Thông Tin", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return true;
                }
            }
            return false;
        }

        public bool CheckExists(string mathuoc)
        {
            if (connData.CheckExistValue("DanhMucThuoc", "MaThuoc", mathuoc))
                return true;
            return false;

        }
        // Sửa một thuốc
        public bool SuaThuoc(DanhMucThuoc dmThuoc)
        {
            if (KiemTraTruocKhiLuu(dmThuoc))
            {
                string sql = string.Format("UPDATE DanhMucThuoc SET TenThuoc = '{0}', Gia = {1}"
                + "WHERE MaThuoc = '{2}' ",
                    dmThuoc.TenThuoc, dmThuoc.Gia, dmThuoc.MaThuoc);
                if (connData.ExcuteQuery(sql))
                {
                    MessageBox.Show("Sửa Danh Mục Thuốc Thành Công", "Thông Tin", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return true;
                }
            }
            return false;
        }

        // Xóa một thuốc
        public bool XoaThuoc(string mathuoc)
        {
            string sql = "DELETE FROM DanhMucThuoc WHERE MaThuoc in ('" + mathuoc + "')";
            if (connData.ExcuteQuery(sql))
            {
                MessageBox.Show("Xóa Thuốc Thành Công!", "Thông Tin", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return true;

            }
            return false;
        }
        // Kiểm tra trước khi Save
        public bool KiemTraTruocKhiLuu(DanhMucThuoc dmthuoc)
        {
            if (dmthuoc.TenThuoc.Equals(""))
            {
                MessageBox.Show("Tên Thuốc Không Hợp Lệ");
                return false;
            }


            if (dmthuoc.Gia.Equals(""))
            {
                MessageBox.Show("Giá Thuốc Không Hợp Lệ");
                return false;
            }

            return true;
        }

        // Hàm tìm mã Thuốc kế tiếp
        public string NextID()
        {
            return Utilities.NextID(connData.GetLasID("DanhMucThuoc", "MaThuoc"), "TH");
        }
    }
}
